#ifndef __CSV_H__
#define __CSV_H__

#ifdef __cplusplus
extern "C"
{
#endif
#include "array.h"
#define CSV_MALLOC malloc
#define CSV_FREE free

    extern array_t *csv_parse_str(const char *data);
    extern array_t *csv_parse_file(const char *file_path);
    extern array_t *csv_head(array_t *csv_arr);
    extern array_t *csv_line(array_t *csv_arr, size_t index);
    extern int csv_array_add_line(array_t *csv_arr, char **data, size_t data_len);
    extern int csv_file_rewrite(const char *file_path, array_t *csv_arr);
    extern void csv_free(array_t **csv_arr);
#ifdef __cplusplus
}
#endif

#endif